## Warning: replacing previous import 'GenomicRanges::shift' by 'data.table::shift'
## when loading 'plgINS'

enrichMiR

#' getTS
#'
#' @param species character object. Can be "human", "mouse" or "rat"
#'
#' @return TargetScan miRNA target dataframe with family information in metadata()
#'
getTS <- function(species=c("human","mouse","rat")){
  library(S4Vectors)
  species <- match.arg(species)
  
  # assign species ID
  spec <- switch( species,
                  human = 9606,
                  mouse = 10090,
                  rat = 10116 )
  
  
  # download TargetScan miRNA targeting dataset
  tmp <- tempfile()
  download.file(
    "http://www.targetscan.org/vert_72/vert_72_data_download/Summary_Counts.all_predictions.txt.zip", 
    tmp)
  unzip(tmp)
  full <- fread("Summary_Counts.all_predictions.txt") #, sep = "\t", header = TRUE)
  
  # limit to selected species
  sub <- full[full$'Species ID' == spec,]
  sub$score <- as.numeric(as.character(sub$'Cumulative weighted context++ score'))
    
  # generate TargetScan dataframe
  ts <- DataFrame(family = sub$'miRNA family',
                   rep.miRNA = sub$'Representative miRNA',
                   feature = sub$'Gene Symbol',
                   sites = sub$'Total num conserved sites',
                   score = as.numeric(as.character(sub$'Cumulative weighted context++ score'))
                   )
  ts <- DataFrame(
    aggregate(sub[,c("sites","score")], by=ts[,c("family","feature")], FUN=mean)
    )
  

  
  # download TargetScan miRNA families dataset
  tmp <- tempfile()
  download.file(
    "http://www.targetscan.org/vert_72/vert_72_data_download/miR_Family_Info.txt.zip", 
    tmp)
  unzip(tmp)
  full <- fread("miR_Family_Info.txt") #, sep = "\t", header = TRUE)
  
  # limit to selected species
  sub <- full[full$'Species ID' == spec,]
  
  fam <- sub$`Seed+m8`
  names(fam) <- sub$`MiRBase ID`
  
  # add family info to ts dataframe as attribute
  metadata(ts)$families <- fam
  
  # enrichMiR cant handle 0 values for sites feature
  return(ts[ts$sites!=0,])
}

Benchmarking

Plots

## Score analysis:  detPPV

## Score analysis:  FP.atFDR05

## Score analysis:  log10QDiff

## Score analysis:  TP.atFDR05

scores over the datasets

## $`let-7a`
## original      0.2      0.3      0.4      0.5 
##    0.768    0.768    0.768    0.768    0.701 
## 
## $`miR-1`
## original      0.2      0.3      0.4      0.5 
##    0.801    0.801    0.801    0.801    0.801 
## 
## $`miR-124`
## original      0.2      0.3      0.4      0.5 
##    0.801    0.801    0.768    0.534    0.425 
## 
## $`miR-137`
## original      0.2      0.3      0.4      0.5 
##    0.768    0.768    0.768    0.768    0.568 
## 
## $`miR-139`
## original      0.2      0.3      0.4      0.5 
##    0.408    0.309    0.325    0.115    0.084 
## 
## $`miR-143`
## original      0.2      0.3      0.4      0.5 
##    0.824    0.824    0.824    0.825    0.771 
## 
## $`miR-144`
## original      0.2      0.3      0.4      0.5 
##    0.825    0.528    0.258    0.232    0.274 
## 
## $`miR-153`
## original      0.2      0.3      0.4      0.5 
##    0.768    0.768    0.534    0.434    0.359 
## 
## $`miR-155`
## original      0.2      0.3      0.4      0.5 
##    0.780    0.780    0.777    0.777    0.777 
## 
## $`miR-182`
## original      0.2      0.3      0.4      0.5 
##    0.768    0.414    0.404    0.390    0.279 
## 
## $`miR-199a`
## original      0.2      0.3      0.4      0.5 
##    0.824    0.785    0.785    0.780    0.780 
## 
## $`miR-204`
## original      0.2      0.3      0.4      0.5 
##    0.795    0.780    0.746    0.775    0.743 
## 
## $`miR-205`
## original      0.2      0.3      0.4      0.5 
##    0.824    0.732    0.824    0.720    0.593 
## 
## $`miR-216b`
## original      0.2      0.3      0.4      0.5 
##    0.713    0.492    0.383    0.112    0.108 
## 
## $`miR-223`
## original      0.2      0.3      0.4      0.5 
##    0.824    0.824    0.824    0.824    0.795 
## 
## $`miR-7`
## original      0.2      0.3      0.4      0.5 
##    0.824    0.785    0.824    0.785    0.795

scores over methods

## $aREAmir
## original      0.2      0.3      0.4      0.5 
##    0.969    0.849    0.774    0.730    0.620 
## 
## $EN.up
## original      0.2      0.3      0.4      0.5 
##    0.005    0.005    0.005    0.005    0.005 
## 
## $EN.down
## original      0.2      0.3      0.4      0.5 
##    1.000    0.881    0.806    0.754    0.706 
## 
## $EN.combined
## original      0.2      0.3      0.4      0.5 
##    0.950    0.857    0.779    0.743    0.633 
## 
## $wEN.up
## original      0.2      0.3      0.4      0.5 
##    0.005    0.005    0.005    0.006    0.005 
## 
## $wEN.down
## original      0.2      0.3      0.4      0.5 
##    1.000    0.938    0.885    0.776    0.757 
## 
## $wEN.combined
## original      0.2      0.3      0.4      0.5 
##    1.000    0.938    0.896    0.760    0.741 
## 
## $michael.up
## original      0.2      0.3      0.4      0.5 
##    0.005    0.005    0.005    0.005    0.005 
## 
## $michael.down
## original      0.2      0.3      0.4      0.5 
##    1.000    0.906    0.854    0.760    0.683 
## 
## $michael.combined
## original      0.2      0.3      0.4      0.5 
##    1.000    0.938    0.865    0.806    0.766 
## 
## $MW
## original      0.2      0.3      0.4      0.5 
##    0.939    0.834    0.782    0.681    0.624 
## 
## $KS
## original      0.2      0.3      0.4      0.5 
##    0.847    0.743    0.784    0.663    0.588 
## 
## $KS2
## original      0.2      0.3      0.4      0.5 
##    0.958    0.858    0.856    0.755    0.675 
## 
## $GSEA
## original      0.2      0.3      0.4      0.5 
##    0.777    0.710    0.724    0.698    0.602 
## 
## $GSEAmodified
## original      0.2      0.3      0.4      0.5 
##    0.730    0.587    0.524    0.478    0.476 
## 
## $modSites
## original      0.2      0.3      0.4      0.5 
##    0.938    0.875    0.818    0.774    0.755 
## 
## $modScore
## original      0.2      0.3      0.4      0.5 
##    0.943    0.876    0.876    0.829    0.757

TP ratio at FDR 0.05 over methods

## $aREAmir
## original      0.2      0.3      0.4      0.5 
##    0.875    0.750    0.812    0.625    0.500 
## 
## $EN.up
## original      0.2      0.3      0.4      0.5 
##    0.125    0.000    0.000    0.062    0.000 
## 
## $EN.down
## original      0.2      0.3      0.4      0.5 
##        1        1        1        1        1 
## 
## $EN.combined
## original      0.2      0.3      0.4      0.5 
##        1        1        1        1        1 
## 
## $wEN.up
## original      0.2      0.3      0.4      0.5 
##        0        0        0        0        0 
## 
## $wEN.down
## original      0.2      0.3      0.4      0.5 
##        1        1        1        1        1 
## 
## $wEN.combined
## original      0.2      0.3      0.4      0.5 
##        1        1        1        1        1 
## 
## $michael.up
## original      0.2      0.3      0.4      0.5 
##        0        0        0        0        0 
## 
## $michael.down
## original      0.2      0.3      0.4      0.5 
##    1.000    1.000    1.000    0.938    0.938 
## 
## $michael.combined
## original      0.2      0.3      0.4      0.5 
##    1.000    1.000    1.000    0.938    0.938 
## 
## $MW
## original      0.2      0.3      0.4      0.5 
##    1.000    1.000    1.000    0.938    0.938 
## 
## $KS
## original      0.2      0.3      0.4      0.5 
##    1.000    1.000    1.000    0.938    0.938 
## 
## $KS2
## original      0.2      0.3      0.4      0.5 
##    0.938    0.875    0.812    0.750    0.625 
## 
## $GSEA
## original      0.2      0.3      0.4      0.5 
##    0.125    0.125    0.125    0.125    0.188 
## 
## $GSEAmodified
## original      0.2      0.3      0.4      0.5 
##    0.438    0.438    0.438    0.438    0.500 
## 
## $modSites
## original      0.2      0.3      0.4      0.5 
##    0.938    0.938    0.875    0.875    0.875 
## 
## $modScore
## original      0.2      0.3      0.4      0.5 
##    1.000    1.000    1.000    0.875    0.938